# map是python自带的内置函数, 他的作用是把一个函数应用在一个或多个序列上
# 把列表中的每一项作为函数输入进行计算, 再把计算的结果以列表的形式返回

# map的第一个参数是一个函数, 之后的参数是序列

# 示例: 把一个列表中的每个元素都翻倍
# 常规写法用 for i in list:
# 进阶写法用列表解析 i for i in list
# map 写法:
lst = (1, 2, 3, 4, 5)
lst2 = map(lambda x: x*2, lst)
print(list(lst2))

# 假设有两个数列, 如何求和
# map 中的函数会从对应的列表中一次取出元素, 作为参数使用
# 注意: 参数的个数要与map中提供的序列个数相同
# 如果序列中元素的个数不同, map会以none来补全
lst_1 = [1, 2, 3, 4, 5, 6]
lst_2 = [1, 3, 5, 7, 9]
lst_3 = map(lambda x, y: x+y, lst_1, lst_2)
print(list(lst_3))
